<?php

class Poll_Controller_Browse_Add extends Nuo_Controller
{
	function execute($request)
	{

		$table = Nuo::getTable('poll');

		$parentId = $request -> getParam('main-resource');

		$poster = Nuo::getUser();

		$userId = Nuo::getUserId();
		
		$parentItem =  NULL; 

		if ($parentId)
		{
			$parentItem = Nuo::getItem($parentId);
		}

		if (!$parentItem)
		{
			$parentItem = Nuo::getUser();
		}

		$form = Nuo::getObject('poll/add', 'form');

		if ($request -> isPost() && $form -> isValid($_POST))
		{
			$data = $form -> getData();

			$item = $table -> fetchNew();

			$item -> fromArray($data);

			$item -> created_at = time();

			$item -> user_id = $userId;

			$item -> setPoster($poster) -> setResource($parentItem);

			$item -> save();
			
			$item->setAnswers($data['answer']);

			$feed = Nuo::getApi('activity') -> addFeed($poster, $item, 'poll:addNew');

			if ($feed)
			{
				Nuo::getApi('core/attachment') -> addAttachment($feed, $item);
			}

			$uri = $parentItem -> getUrl('?tab=poll');

			Nuo::redirect($uri);
		}

		return  Nuo::getView()->render('core/view/controller/browse/edit', array('form' => $form));
	}

}
